package com.bestcem.xm.member.dao;

import com.alibaba.fastjson.JSONObject;
import com.bestcem.xm.member.entity.mysql.SourceCardDo;

import java.util.List;

/**
 * @author ming.xue <ming.xue@idiaoyan.com>
 * @desc 来源名片数据访问
 * @date 2021-08-02
 */
public interface SourceCardDao {

    /**
     * 统计来源名片
     *
     * @param orgId
     * @param memberId
     * @return
     */
    long count(String orgId, String memberId);

    /**
     * 分页获取来源名片列表
     *
     * @param page
     * @param size
     * @param orgId
     * @param memberId
     * @return
     */
    List<SourceCardDo> pageList(Integer page, Integer size, String orgId, String memberId);

    /**
     * 根据联系人获取该联系人相关的名片
     *
     * @param id
     * @return
     */
    List<SourceCardDo> findByMid(String id);

    /**
     * 保存 来源名片
     *
     * @param card
     */
    void save(SourceCardDo card);

    /**
     * 更新或插入来源名片。通过memberId、source唯一修改
     * 更新：orgId、source、data、cardNo
     *
     * @param card
     */
    void upsert(SourceCardDo card);

    /**
     * 更新来源名片的data信息
     *
     * @param data   需要更新的来源名片的data信息
     * @param id     联系人标识
     * @param source 来源
     * @param orgId
     * @return void
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2021/10/11 13:44
     */
    void updateDataByMidAndSource(JSONObject data, String id, int source, String orgId);

}
